#ifndef _WSIM_SERVER_H
#define _WSIM_SERVER_H
#include <stdio.h>
#include <stdlib.h>
#include "execjson.h"

typedef struct WSCLIENT_IPC{
    int fd;    
    char status[16];
    bool breg;
    int bufLen;   
    char nickname[128]; 
    char organ[256];
    char group[256];
}WSCLIENT_IPC;

#define WSCLIENTIPC_SIZE sizeof(WSCLIENT_IPC)

#define CFGFILE     "/etc/wsim.cfg"
#define SERVER_PROT 9753
#define DBSERVER    "127.0.0.1"
#define DBSPACE     "wsim"
#define DBUSER      "root"
#define DBPASSWORD  "123456"

static execjson* pExec=NULL;

/*******************************
 * IPC全局变量
 * *****************************/
static char *wsshm=NULL;
static int wsshmid, wssemid, wsmsqid;

// 清除屏幕
#define CLEAR() printf("\033[2J")
//清除当前行
#define ROWCLEAR() printf("\033[K") 
// 上移光标
#define MOVEUP(x) printf("\033[%dA", (x))
 
// 下移光标
#define MOVEDOWN(x) printf("\033[%dB", (x))
 
// 左移光标
#define MOVELEFT(y) printf("\033[%dD", (y))
 
// 右移光标
#define MOVERIGHT(y) printf("\033[%dC",(y))
 
// 定位光标
#define MOVETO(x,y) printf("\033[%d;%dH", (x), (y))
 
// 光标复位
#define RESET_CURSOR() printf("\033[H")
 
// 隐藏光标
#define HIDE_CURSOR() printf("\033[?25l")
 
// 显示光标
#define SHOW_CURSOR() printf("\033[?25h")
 
//反显
#define HIGHT_LIGHT() printf("\033[7m")
#define UN_HIGHT_LIGHT() printf("\033[27m")
//闪烁
#define BLINKING() printf("\033[5m")
//下划线
#define UNDERLINE() printf("\03[4m")

#endif